# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


# NOTE: This class is auto generated by the swagger code generator program.
# https://github.com/swagger-api/swagger-codegen.git
# Do not edit the class manually.

defmodule GoogleApi.Prediction.V16.Model.Insert2 do
  @moduledoc """
  

  ## Attributes

  - created (DateTime): Insert time of the model (as a RFC 3339 timestamp). Defaults to: `null`.
  - id (String): The unique name for the predictive model. Defaults to: `null`.
  - kind (String): What kind of resource this is. Defaults to: `null`.
  - modelInfo (Insert2ModelInfo):  Defaults to: `null`.
  - modelType (String): Type of predictive model (CLASSIFICATION or REGRESSION). Defaults to: `null`.
  - selfLink (String): A URL to re-request this resource. Defaults to: `null`.
  - storageDataLocation (String): Google storage location of the training data file. Defaults to: `null`.
  - storagePMMLLocation (String): Google storage location of the preprocessing pmml file. Defaults to: `null`.
  - storagePMMLModelLocation (String): Google storage location of the pmml model file. Defaults to: `null`.
  - trainingComplete (DateTime): Training completion time (as a RFC 3339 timestamp). Defaults to: `null`.
  - trainingStatus (String): The current status of the training job. This can be one of following: RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND Defaults to: `null`.
  """

  defstruct [
    :"created",
    :"id",
    :"kind",
    :"modelInfo",
    :"modelType",
    :"selfLink",
    :"storageDataLocation",
    :"storagePMMLLocation",
    :"storagePMMLModelLocation",
    :"trainingComplete",
    :"trainingStatus"
  ]
end

defimpl Poison.Decoder, for: GoogleApi.Prediction.V16.Model.Insert2 do
  import GoogleApi.Prediction.V16.Deserializer
  def decode(value, options) do
    value
    |> deserialize(:"modelInfo", :struct, GoogleApi.Prediction.V16.Model.Insert2ModelInfo, options)
  end
end

defimpl Poison.Encoder, for: GoogleApi.Prediction.V16.Model.Insert2 do
  def encode(value, options) do
    GoogleApi.Prediction.V16.Deserializer.serialize_non_nil(value, options)
  end
end

